# 登录页面每层一个类 一层更比一层强 新页面你也得有驱动对象 是吧让后再找元素 没毛病把
#对象库层#找对象也就是找元素
from selenium.webdriver.common.by import By

from V5.UTILS import util_devier


class Home_Login:
    def __init__(self):
       self.driver=util_devier.get_driver()#获取驱动对象 有一次获取游览器驱动
       self.input_username=By.ID,'username'#为什么要放在init中 方便修改元素内容
       self.input_password=By.ID,'password'#为什么要放在init中 方便修改元素内容
       self.input_verify_code=By.ID,'verify_code'#为什么要放在init中 方便修改元素内容
       self.input_bbnt=By.ID,'red'#为什么要放在init中 方便修改元素内容

    def find_login_username(self):#开始找元素了
        return self.driver.find_element(self.input_username[0],self.input_username[1])#找到手机号码元素 找到元素要放回

    def find_login_password(self):  # 开始找元素了
        return self.driver.find_element(self.input_password[0],self.input_password[1])#找到密码元素

    def find_login_verify_code(self):  # 开始找元素了
        return self.driver.find_element(self.input_verify_code[0],self.input_verify_code[1])#找到验证码元素

    def find_login_bnt(self):  # 开始找元素了
        return self.driver.find_element(self.input_bbnt[0],self.input_bbnt[1])#找到登录元素





#操作层 你需要在元素上进行的操作
class Handle_login():
    def __init__(self):
        self.handle_login=Home_Login()#创建实例化对象
    def input_username(self,uesrname):#多个元素对象操作如何执行 这是个问题 简单每个元素创建一个方法 不就完事了吗 在创建之前要清除原本内容
        self.handle_login.find_login_username().clear()#清除之前内容
        self.handle_login.find_login_username().send_keys("1244442")
    def input_password(self,password):
        self.handle_login.find_login_password().clear()
        self.handle_login.find_login_password().send_keys("1233445")
    def input_verify_code(self,verify_code):
        self.handle_login.find_login_verify_code().clear()
        self.handle_login.find_login_verify_code().send_keys("12333")
    def click(self):
        self.handle_login.find_login_bnt().click()
#业务层 也就是你业务呈现的过程 上菜过程
class Home_Login():
    def __init__(self):
        self.on=Handle_login()#实例化
    #实现登陆操作功能的业务
    def login(self,username,password,verify_code):#参数化的对象放在里面 不能写死
        #输入用户名
        self.on.input_username()#不能写死username不能写死
        self.on.input_password()#不能写死username不能写死
        self.on.input_verify_code()#不能写死username不能写死
        self.on.click()#点击登陆按钮


